package com.proyecto.core.vista.echo.componentes;

import java.util.ResourceBundle;
import nextapp.echo2.app.Extent;
import nextapp.echo2.app.SplitPane;
import nextapp.echo2.app.event.ActionEvent;
import nextapp.echo2.app.event.ActionListener;

import com.proyecto.core.servicios.ProcesarReporte;
import com.proyecto.core.vista.echo.base.RwBotoneraAceptarCancelar;

import consultas.echo2consultas.SpWindowPane;

public class WPReporteGenerico extends SpWindowPane {

	private ResourceBundle resourceBundle;
	private RwBotoneraAceptarCancelar rwBotoneraAceptarCancelar;
	private SplitPane splitPane1;
	private ActionListener listenerAceptar = new ActionListener(){
		public void actionPerformed(ActionEvent arg0) {
			ejecutarAccionAceptar();
		}
	};
	private ActionListener listenerCancelar = new ActionListener(){
		public void actionPerformed(ActionEvent arg0) {
			ejecutarAccionCancelar();
		}
	};
	private CPReporte cpReporte = null;
	private String nombreReporte = null;

	/**
	 * Creates a new <code>WPReporteGenerico</code>.
	 */
	public WPReporteGenerico(CPReporte cpReporte, String nombreReporte) {
		super();
		initComponents();
		this.setStyleName("DefaultSPWinPane");
		this.cpReporte = cpReporte;
		this.nombreReporte = nombreReporte;
		this.splitPane1.add(cpReporte);
		this.rwBotoneraAceptarCancelar.getBtnAceptar().addActionListener(listenerAceptar);
		this.rwBotoneraAceptarCancelar.getBtnCancelar().addActionListener(listenerCancelar);
		rwBotoneraAceptarCancelar.getBtnInfoSistema().inicializar(this.getClass().getName(), 
				this.getClass().getSimpleName(),"");
	}
	
	private void ejecutarAccionAceptar(){
		this.cpReporte.aceptarPre();
		new ProcesarReporte(this.nombreReporte,this.cpReporte);
		this.cpReporte.aceptarPost();
	}
	
	private void ejecutarAccionCancelar(){
		this.cpReporte.cancelarPre();
		this.getParent().remove(this);
		this.cpReporte.cancelarPost();
	}

	/**
	 * Configures initial state of component.
	 * WARNING: AUTO-GENERATED METHOD.
	 * Contents will be overwritten.
	 */
	private void initComponents() {
		this.setHeight(new Extent(250, Extent.PX));
		this.setModal(true);
		splitPane1 = new SplitPane();
		splitPane1.setOrientation(SplitPane.ORIENTATION_VERTICAL_BOTTOM_TOP);
		splitPane1.setSeparatorPosition(new Extent(32, Extent.PX));
		add(splitPane1);
		rwBotoneraAceptarCancelar = new RwBotoneraAceptarCancelar();
		splitPane1.add(rwBotoneraAceptarCancelar);
	}
}
